De Sutter Et Al . : Whole - Program Optimization of Binary Executables 3

نویسندگان

  • Bjorn De Sutter
  • Koen De Bosschere
  • Bruno De Bus
  • Bart Demoen
  • Peter Keyngnaert
چکیده

|Compiler optimization research has a long history and very complex algorithms were developed to optimize code. Unfortunately these algorithms, however complex they may be, su er from the modular design of software. Compilers compile and optimize one source code module at a time. While they do so, they have no or few knowledge about the context in which the code will be executed. Even if summary information about all involved source code les is collected or if programs consist of one source code le only (which is not trivial for mixed-language programs) all kinds of code libraries will be linked with the programmer's code to produce the nal executable binary. These libraries are often only available in object code and therefor no candidates for global analyses and optimizations by the compiler. A solution to this problem is to relegate part of the global optimizations to the linker, which has -by its naturea global overview of the application. Unfortunately, the linker does not have access to the wealth of (semantic) information about the program that is available in the compiler. Therefor, a linker has to painstakingly reconstruct part of that information by analyzing object les. Nevertheless, it turns out to be possible to do this in a reasonable time, and to produce speedups of 19% for code that was already highly optimized by the compiler. In the paper, we describe Alto, a link time optimizer for the alpha architecture. We describe Alto's framework, the analyses performed, the advantages and disadvantages of optimizing programs at link time, and an analysis of the speedups attained for the Spec benchmarks. We also describe additional program transformations applied by Squeeze, an Alto-derivative aimed at link-time code compression. Squeeze obtains additional link-time code compression of 23% on already compact compiler generated binaries. Keywords|linker, whole-program optimization, code compression,

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Steganography for Executables

Steganography embeds a secret message in a seemingly innocuous cover-object. This paper presents a framework for steganography with executables as cover-objects built on top of an existing binary rewriter. Executables differ significantly from previously explored coverobjects, we thus first identify the cover-specific redundancies that can be used to embed a secret message. Techniques are then ...

متن کامل

Link-Time Optimization of IA64 Binaries

The features of the IA64 architecture create new opportunities for link-time optimization. At the same time they complicate the design of a link-time optimizer. This paper examines how to exploit some of the opportunities for link-time optimization and how to deal with the complications. The prototype link-time optimizer that implements the discussed techniques is able to reduce the code size o...

متن کامل

Covert Communication through Executables

This paper explores the potential of executables for covert communication. Three techniques for the embedding of secret information are presented. Possible attacks on the stealthiness of these techniques are identified and countered. The presented concepts are implemented and evaluated for the IA32 architecture, for which we obtain an encoding rate of 1/27 before countermeasures and 1/89 after ...

متن کامل

Sifting Out the Mud: a Low-Level Treatment of Reusable Code in C++ Programs

More and more computers are being incorporated in devices where the available amount of memory is limited. This contrasts with the increasing need for additional functionality and the need for rapid application development. While object-oriented programming languages, supporting code reusability by providing mechanisms such as inheritance and templates, allow fast development of complex applica...

متن کامل

A compiler level intermediate representation based binary analysis system and its applications

Title of Dissertation: A COMPILER LEVEL INTERMEDIATE REPRESENTATION BASED BINARY ANALYSIS SYSTEM AND ITS APPLICATIONS Kapil Anand, Doctor of Philosophy, 2013 Dissertation directed by: Professor Rajeev Barua Department of Electrical and Computer Engineering Analyzing and optimizing programs from their executables has received a lot of attention recently in the research community. There has been ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000